home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac100% 1998 November
/
MAC100-1998-11.ISO.7z
/
MAC100-1998-11.ISO
/
オンラインソフト定点観測
/
ユーティリティ
/
Mops 3.2.sea
/
Mops 3.2
/
Mops source
/
PPC source
/
pArgs
< prev
next >
Wrap
Text File
|
1998-06-02
|
1KB
|
47 lines
(*
This file is derived from Args. It contains any defns from Args that:
1. are needed for the PPC image as generated on the 68k, and
2. have to be compiled AFTER we start compiling PPC code - i.e. after
CROSS at the beginning of Setup, which crosses us over into PPC-land.
So, here we only have to include words that compile to PPC code, and
never get executed at compile time.
Thus we only include words which come from Args and haven't been
included in qArgs, as well as any from qArgs that get executed at
both compile and run time.
*)
¥ I think all we need here is EVALUATE.
false value compinline?
: EVALUATE { addr len ¥ x1 x2 x3 x4 -- ?? }
save-input drop ¥ Must be 4
-> x4 -> x3 -> x2 -> x1 ¥ Move input-stream specs to locals
addr -> src-start len -> src-len 0 >in ! -1 -> source-id
echo? IF
." ***evaluating*** " addr len type cr
THEN
interpret
x1 x2 x3 x4 4 restore-input IF 25 die THEN
;
¥ We can EVALUATE strings which might have embedded returns, and we can't
¥ just convert returns to blanks since we want the comment operator ¥
¥ to only skip to the end of the line, not the end of the string. We handle
¥ this by defining an immediate "word" which just consists of a return, which
¥ does nothing. We initially define it as X then patch it. Our dic
¥ threading scheme doesn't clobber this since we just hash on the length,
¥ which remains 1.
: X ; immediate
13 ( cr ) ' x >namex 1+ c!